package com.r2coding.domain.strategy.service.rule.impl.before;

import com.r2coding.domain.strategy.service.annotation.LogicStrategy;
import com.r2coding.domain.strategy.service.rule.factory.DefaultLogicFactory;
import com.r2coding.domain.strategy.service.rule.impl.AbstractUserListLogicFilter;
import com.r2coding.types.enums.ResponseCode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * @author caolx
 * @description 黑名单抽奖规则过滤 实现类
 * @date 2025/8/2 14:57
 */
@Slf4j
@Service
@LogicStrategy(logicMode = DefaultLogicFactory.LogicModel.RULE_BLACKLIST)
public class RuleBlacklistLogicFilter extends AbstractUserListLogicFilter {

    @Override
    protected String getFilterType() {
        return "黑名单";
    }

    @Override
    protected DefaultLogicFactory.LogicModel getRuleModel() {
        return DefaultLogicFactory.LogicModel.RULE_BLACKLIST;
    }

    @Override
    protected ResponseCode getConfigErrorCode() {
        return ResponseCode.STRATEGY_RULE_BLACKLIST_CONFIG_ERROR;
    }
}
